package ro.pub.cs.stadium.document;

/**
 * Provides access to a transition in the diagram
 * @author stefan
 *
 */
public interface ITransition extends IDocumentItem{
	/**
	 * 
	 * @return the starting point of the transition
	 */
	IState getStartPoint();
	
	Size getLabelSize();
	
	void setLabelSize(Size size);
	
	void setStartPoint(IState state);
	
	/**
	 * 
	 * @return the ending point of the transition
	 */
	IState getEndPoint();
	
	void setEndPoint(IState state);
	
	/**
	 * 
	 * @return the location of the control point corresponding to the starting
	 * state. The location is relative to the center of the state.
	 */
	Point getStartControlPoint();
	
	void setStartControlPoint(Point point);
	
	/**
	 * 
	 * @return the location of the control point corresponding to the ending
	 * state. The location is relative to the center of the state.
	 */
	Point getEndControlPoint();
	
	void setEndControlPoint(Point point);
	
}
